package com.sp.config;

import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

/**
 * 创建人：sunpeng
 * 创建时间：2022/11/17 0017
 * 文件名：RibbonConfig
 * Copyright (c)2022
 * 项目代号：HMOP-MMP
 * 版权：交信北斗(海南)科技有限公司
 * 注意：本内容仅限于项目组内部传阅，禁止外泄
 * 版本 修改时间 作者
 * V1.0 2022/11/17 0017 sunpeng
 * 描述：
 */
@Configuration
public class RibbonConfig {

    /**
     * @LoadBalanced spring注解，使用此注解，RestTemplate在发送请求的时候会被LoadBalancerInterceptor拦截，
     * 它的作用就是用于RestTemplate的负载均衡，LoadBalancerInterceptor将负载均衡的核心逻辑交给了loadBalancer
     * @return RestTemplate
     */
    @Bean
    @LoadBalanced
    public RestTemplate loadBalanceRestTemplate(){
        return new RestTemplate();
    }

}